using System;
using System.Collections.Generic;
using System.Text;

using RRHH.Competencias.Entities;

namespace RRHH.Competencias.DataAccessLayer.Generic
{
    public interface IDALProceso:IDALABM<Proceso>
    {

        /// <summary>
        /// Devuelve una lista con todos los procesos que coincidan con los parametros
        /// </summary>
        /// <returns>Lista de Procesos</returns>
        List<Proceso> Buscar(Proceso proceso);
        
       /// <summary>
       /// Asigna un conocedor a un proceso
       /// </summary>
       /// <param name="idConocedor"></param>
       /// <param name="idProceso"></param>
        void AsignarConocedor(long idConocedor, long idProceso);

        /// <summary>
        /// Elimina todos los conocedores de un proceso
        /// </summary>
        /// <param name="idProceso"></param>
        void QuitarConocedores(long idProceso);

        /// <summary>
        /// Obtiene los colaboradores asociados a un proceso
        /// Se asocian colaboradores por puesto, y puestos asociados al proceso
        /// Se incluyen solo registros activos
        /// </summary>
        /// <param name="proceso">Proceso del cual se desean obtener colaboradores</param>
        /// <returns>Listado de colaboradores. Listado vacio en caso de error</returns>
        List<Colaborador> ObtenerColaboradores(Proceso proceso);
    }
}


